import apiMod from '@/apiMod'
const tableConfig = {
	stripe: true,
	border: true,
	maxHeight: '80vh',
	columns: [
		// {
		// 	label: '字典名称',
		// 	prop: 'belongDictName',
		// },
		{
			label: '字段名',
			prop: 'fieldName',
		},
		// {
		// 	label: '规则名称',
		// 	prop: 'ruleName',
		// },
		// {
		// 	label: '字段长度',
		// 	prop: 'charSize',
		// },
		{
			label: '表字段名',
			prop: 'tableFieldName',
		},
		{
			label: '版本号',
			prop: 'versionNumber',
		},
		{
			label: '是否审批',
			prop: 'isApproval',
		},
		{
			label: '是否校验',
			prop: 'isCheck',
		},
		{
			label: '是否主键',
			prop: 'isKey',
		},
		{
			label: '是否必填',
			prop: 'isNotNull',
		},
		// {
		// 	label: '唯一字段',
		// 	prop: 'onlyFields',
		// },
		{
			label: '是否参与过期提醒',
			prop: 'isExpireRemind',
		},
		
		{
			label: '操作',
			prop: 'menu',
			width: 170,
			fixed: 'right'
		},
	],
}

export const formConfig = {
	inline: false,
	labelPosition: 'left',
	showBtn: true,
	showReset: true,
	backBtnText: '重置',
	column: [
    {
			label: '字典名称',
			prop: 'belongDictId',
      propName: 'belongDictName',
			type: 'remoteSelect',
      api: 'sys_dict_page',
      filterKey: 'id',
      filterLabel: 'dictName',
			span: 24,
		},
    
		{
			label: '表字段名',
			prop: 'tableFieldName',
			type: 'input',
			span: 24,
			rules: [
				{
					required: true,
					message: '请输入表字段名',
					trigger: 'blur',
				}
			],
      async onChange(data){
        const params = {
          tableConfigId:baseConfig.paramsObj.tableConfigId,
          tableName:baseConfig.paramsObj.tableName,
          columnName: data,
        }
        const res = await apiMod.view_metadata_tableColumnList(params)
        console.log(123,baseConfig);
        if(res.code == 0){
          const fieldInfo = res.data[0]
          formConfig.column[2].defaultValue = fieldInfo.label;
          formConfig.column[3].value = Number(fieldInfo.column_length);
          console.log(formConfig.column[3]);
        }
      }
		},
    {
      label: '字段名',
			prop: 'fieldName',
			type: 'input',
			span: 24,
      defaultValue: '',
			rules: [
				{
					required: true,
					message: '请输入字段名',
					trigger: 'blur',
				}
			]
    },
    {
			label: '字段长度',
			prop: 'charSize',
			type: 'number',
			span: 8,
			min: 1,
      value: 50
		},
    {
      label: '唯一字段',
			prop: 'onlyFields',
			type: 'input',
			span: 24,
    },
		{
			label: '规则名称',
			prop: 'ruleId',
      propName: 'ruleName',
			type: 'remoteSelect',
      code: 'METADATA_RULE',
      api: 'getDictItemList',
      span: 8
		},
		{
			label: '是否审批',
			prop: 'isApproval',
			type: 'radio',
			dicData: [
				{
					label: '否',
					value: 0
				},
				{
					label: '是',
					value: 1
				}
			],
			span: 24,
			rules: [
				{
					required: true,
					message: '请选择是否审批',
					trigger: 'change',
				}
			]
		},
    {
			label: '是否校验',
			prop: 'isCheck',
			type: 'radio',
			dicData: [
				{
					label: '否',
					value: 0
				},
				{
					label: '是',
					value: 1
				}
			],
			span: 24,
			rules: [
				{
					required: true,
					message: '请选择是否校验',
					trigger: 'change',
				}
			]
		},
    {
			label: '是否主键',
			prop: 'isKey',
			type: 'radio',
			dicData: [
				{
					label: '否',
					value: 0
				},
				{
					label: '是',
					value: 1
				}
			],
			span: 24,
			rules: [
				{
					required: true,
					message: '请选择是否主键',
					trigger: 'change',
				}
			]
		},
    {
			label: '是否必填',
			prop: 'isNotNull',
			type: 'radio',
			dicData: [
				{
					label: '否',
					value: 0
				},
				{
					label: '是',
					value: 1
				}
			],
			span: 24,
			rules: [
				{
					required: true,
					message: '请选择是否必填',
					trigger: 'change',
				}
			]
		},
    {
			label: '是否参与过期提醒',
			prop: 'isExpireRemind',
			type: 'radio',
			dicData: [
				{
					label: '否',
					value: 0
				},
				{
					label: '是',
					value: 1
				}
			],
			span: 24,
		},
		{
			label: '版本号',
			prop: 'versionNumber',
			type: 'number',
			span: 8,
			min: 1,
			max: 3,
		},
	],
}
const searchConfig = {
	inline: true,
	// 	showBtn: true,
	// 	labelPosition: 'left',
	column: [
		{
			label: '字段名',
			prop: 'fieldName',
			type: 'input',
			span: 8,
		},
		{
			label: '表字段名',
			prop: 'tableFieldName',
			type: 'input',
			span: 8,
		},
		{
			label: '规则名称',
			prop: 'ruleId',
      propName: 'ruleName',
			type: 'remoteSelect',
      code: 'METADATA_RULE',
      api: 'getDictItemList',
      span: 8
		},
	],
}
// export const detailConfig = {
// 	inline: false,
// 	labelPosition: 'left',
// 	labelWidth: '200px',
// 	showBtn: false,
// 	column: [
// 		{
// 			custome: 'HtmlLabel',
// 			prop: 'policyTitle',
// 			flag: 'bgTitle',
// 			labelPosition: 'top',
// 			span: 24,
// 		},
// 		{
// 			label: '发文字号',
// 			prop: 'policyArticleCode',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '关键词',
// 			prop: 'policyKeywords',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '来源层级',
// 			prop: 'fromLevel',
// 			propName: 'fromLevelLabel',
// 			type: 'remoteSelect',
// 			code: 'POLICY_LEVEL',
// 			api: 'getDictItemList',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '来源单位名称',
// 			prop: 'fromName',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '来源单位区划',
// 			prop: 'areasName',
// 			custome: 'tag',
// 			tagType: 'success',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '养老业务标签',
// 			prop: 'policyTags',
// 			propName: 'policyTagsLabels',
// 			type: 'remoteSelect',
// 			code: 'POLICY_TAGS',
// 			api: 'getDictItemList',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '适应层级',
// 			prop: 'adaptiveHierarchyLabel',
// 			custome: 'tag',
// 			tagType: 'success',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '适应老人年龄',
// 			prop: 'ageRange',
// 			custome: 'tag',
// 			tagType: 'warning',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '老人类别',
// 			prop: 'oldmanType',
// 			propName: 'oldmanTypeLabel',
// 			type: 'remoteSelect',
// 			code: 'ELDERLY_TYPE',
// 			api: 'getDictItemList',
// 			labelPosition: 'left',
// 			span: 8,
// 		},
// 		{
// 			label: '政策正文',
// 			labelPosition: 'top',
// 			prop: 'policyContent',
// 			showWordLimit: true,
// 			type: 'ueditor',
// 			height: '20rem',
// 			span: 24,
// 		},
// 		{
// 			label: '附件',
// 			prop: 'policyAttachment',
// 			type: 'upload',
// 			span: 24,
// 		},
// 	],
// }
export const baseConfig: any = {
	pageName: '元数据字段配置',
	addLabel: '新增',
	// dictcodes: [],
	rowKey: 'id',
	tipLabel: 'fieldName',
	api: {
		index: 'view_metadata_page',
		add: 'view_metadata_add',
		// export: 'view_ofsSubsidyApply_approval_exportApply'
		edit: 'view_metadata_edit',
		delete: 'view_metadata_del',
	},
	auth: {
		index: 'view_metadata_page',
		add: 'view_metadata_add',
		mulitSet: 'mulitSet',
		edit: 'view_metadata_edit',
		delete: 'view_metadata_del',
	},

	menuBtn: [
		{
			// icon: '',
			label: '编辑',
			type: 'primary',
			operate: 'edit',
			auth: 'view_ofsSubsidyApply_view',
			text: true,
			show: true,
		},
		// {
		// 	icon: 'detail',
		// 	label: '查看',
		// 	type: 'primary',
		// 	operate: 'Detail',
		// 	auth: 'view_dpPolicyDocument_page',
		// 	text: true,
		// 	show: true,
		// },
		{
			// icon: 'delete',
			label: '删除',
			type: 'danger',
			operate: 'delete',
			auth: 'view_dpPolicyDocument_del',
			text: true,
			show: true,
		}
	],
	dialogConfig: {
		width: '75%',
	},
	// beforeOnLoadFormate: async (query) => {
	// 	return new Promise((resolve, reject) => {
	// 		const crAreasObj: any = getAreaObj(query.authAreas, '')
	// 		resolve({
	// 			...query,
	// 			...crAreasObj,
	// 			authAreas: undefined,
	// 		})
	// 	})
	// },
	// onLoadFormate: async (arr) => {
	// 	const tableData = arr.map((item) => {
	// 		const tempAge = item.ageRange.split(',')
	// 		item.age = `${tempAge[0]} - ${tempAge[1]}`
	// 		item.policyContent = revertUTF8(item.policyContent) 
	// 		return {
	// 			...item,
	// 		}
	// 	})
	// 	return Promise.resolve(Object.freeze(tableData))
	// },
	// saveFormate: async (form: any) => {
	// 	form.policyContent = EncodeUtf8(form.policyContent)
	// 	return new Promise((resolve, reject) => {
	// 		const areasObj: any = getAreaObj(form.areas, 'from')
	// 		const areasNameObj: any = getAreaObj(form.areasName, 'from')
	// 		form.adaptiveHierarchy = form.adaptiveHierarchy.join(',')
	// 		form.policyLevel = 1
	// 		form.policyLevelLabel = '国家级'
	// 		form.module = '1'
	// 		form.moduleLabel = '一站办'
	// 		if (form.adaptiveHierarchyLabel) {
	// 			const temp = form.adaptiveHierarchyLabel.split('/')
	// 			form.adaptiveHierarchyLabel = temp[temp.length - 1]
	// 		}
	// 		const params = {
	// 			...form,
	// 			...areasObj,
	// 			...areasNameObj,
	// 			areas: undefined,
	// 			areasName: undefined,
	// 			code: 3011,
	// 		}
	// 		resolve(params)
	// 	})
	// },
	searchConfig,
	tableConfig,
	formConfig,
	// detailConfig
}
